#ifndef MANEJADORELECCION_H_
#define MANEJADORELECCION_H_
#include "../Entidades/Eleccion.h"
#include "../HashExtensible/HashExtensible.h"
#include "../ArbolB+/ArbolBMas.h"
#include "../Archivos/ArchivoDeEstructurasVariables.h"
#include <string>
#include "../Entidades/Utils.h"

using namespace Archivos;
using namespace Entidades;
using namespace Arboles;
using namespace Hash;

namespace Manejadores{

class ManejadorEleccion {
private:
	ArchivoDeEstructurasVariables* elecciones;
	ArbolBMas* indicePorDistritoYFecha;
	HashExtensible* indicePorUnicidad;

public:
	ManejadorEleccion();

	bool alta(Eleccion* eleccion);
	bool baja(Eleccion* eleccion);
	bool modificacion(Eleccion* eleccionAModificar, Eleccion* eleccionModificada);
	bool existe(unsigned int fecha, string cargo);

	virtual ~ManejadorEleccion();
};
}
#endif /* MANEJADORELECCION_H_ */
